The Internet, and in particular the World Wide Web (the “Web”), is increasingly being used to store and exchange information and to perform commercial transactions. Although the Web was originally only capable of storing and displaying textual information, the Web may now be used to store, display, and exchange a wide variety of textual, graphical, and audiovisual information such as digital images and full-motion video.
Digital photography, for example, is becoming increasingly popular, spurred in large part by the advent of low-cost, high-quality digital cameras. An increasing number of web sites allow users to upload digital photographs and other digital images to the Web, whereby such images may subsequently be viewed, shared, edited, and printed on conventional printers using computers connected to the Web using conventional Internet connections.
To print a digital image from the Web, a user must typically use a conventional desktop or laptop computer to establish a Web connection using a conventional modem or other network connection device. The user must then locate the digital image (such as a digital photograph) to be printed or complete a transaction that produces an image (such as a ticket) to be printed. The user must then typically download the located image from the Web site to the computer. To print the image, the user must typically issue a “print” command to the Web browser or other software executing on the computer.
Such a process can be cumbersome for the user and may restrict the range of circumstances in which the user may print digital images from the Web. For example, the conventional method described above involves several discrete steps, each of which must be initiated by the user: locating the desired image, downloading the image to a host computer, and issuing a print command to print the image.
Locating the desired image may be difficult if the user does not know or remember the precise Web address of the image to be printed. Even if the user does remember, for example the address of the home page of the Web site on which the image is stored, it may be necessary for the user to perform several steps to navigate a Web browser to the precise image to be downloaded.
If the image to be printed cannot be printed directly from the Web page on which it is stored, it may be necessary for the user to download the image to the host computer. This may require the user to perform several steps, such as selecting the image, providing a filename for the image, and selecting a location on a local storage device (such as a hard disk drive) on which the image is to be stored.
Printing the image may also be problematic. For example, if the image has been downloaded to a local storage device, the user may have to locate the image on the storage device and open the image file using imaging software before issuing a print command. The print command may fail for a variety of reasons, such as a faulty connection between the host computer and the printer or the absence of an appropriate printer driver on the host computer. After printing the image, the user typically must manually delete the downloaded image file from the local storage device.
In particular, it may be difficult and/or time consuming for a user to print images that are generated as a result of a non-Web transaction. Consider, for example, a user who purchases a ticket (such as a concert ticket or airline ticket) over the telephone. If such a transaction generates a ticket that is accessible over the Web for printing, the conventional system described above would require the user to connect the host computer to the Web, locate the image of the ticket using a Web browser, and print the image. Such a process requires the user to engage in a significant amount of post-transaction activity and may be particularly difficult for those users who have chosen to conduct the transaction (e.g., purchase the ticket) over the telephone because they are not familiar with using computers in general or the Web in particular. Users who are unable to print the resulting ticket may become dissatisfied with the associated service and fail to become repeat customers.
It should therefore be apparent that the process of printing images from the Web using a conventional computer connected to a conventional printer can be a tedious, time-consuming, and error-prone process.
Furthermore, the requirement that the printer be connected to a host computer has a variety of disadvantages. For example, a mobile computer user who desires the ability to print images from a variety of locations (such as at home and at the office) must have access to a Web-connected computer in each such location. Using the techniques described above, even a small mobile printer must be connected to a computer to print images from the Web. As a result, a user who wishes to print such remote images may be required to travel with both a printer and a laptop computer, or may be limited to printing images from locations at which a Web-connected desktop computer is available. The requirement that the printer be connected to a computer therefore limits the mobility of the user and limits the range of locations from which images may be remotely printed.
What is needed, therefore, are improved techniques for downloading and printing digital images.
In concurrently filed application Ser. No. 10/191,161, entitled “Method and Apparatus for Providing Output from Remotely Located Digital Files Using a Remote Printer”, techniques are disclosed for coupling a printer to a communications network (such as a Plain Old Telephone Service network or wireless voice or data networks), downloading printing information (such as a digital image) to the printer over the communications network, and using the printer to print output based on the printing information. The printer includes a network communications device, such as a modem, that enables the printer to connect directly to the communications network. The printing information may be downloaded to the printer in any of a variety of ways. For example, the printer may establish a connection to a printing server that serves the printing information. A connection between the printer and the printing server may be established, for example, by using the printer to place a telephone call to the printing server over a Plain Old Telephone Service (POTS) network. The printer may then download the printing information over the POTS network and print the image specified by the printing information.
Data communications over telephone and wireless connections can be unreliable. There is a need for a protocol for communicating between the printer and the printing server that ensures reliable communication and allows the transmission of information that restart at the point of interruption if interrupted.
It is an object of this invention to provide one embodiment of a protocol for communicating between the printer and the printing server that ensures reliable communication.
It is a further object of this invention to provide a protocol that allows the printing of documents with multiple pages and provides error checking.
It is also an object of this invention to provide a protocol that enables the communicating of the state of previous prints between the printer and the server and to provide secure access to this information.